Skip to content

Refactor (packages/tui/src/component/bg-pulse-render.ts): Function with many parameters - #27

Open
balsulta wants to merge 4 commits into
CMU-17313Q:mainfrom
balsulta:fix-writeRgb-params
Open

Refactor (packages/tui/src/component/bg-pulse-render.ts): Function with many parameters#27
balsulta wants to merge 4 commits into
CMU-17313Q:mainfrom
balsulta:fix-writeRgb-params

Conversation

@balsulta

@balsulta balsulta commented Sep 1, 2026

Copy link
Copy Markdown

P1B: Starter Task: Refactoring PR

Use this pull request template to briefly answer the questions below in one to two sentences each.
Feel free to delete this text at the top after filling out the template.

1. Issue

Link to the associated GitHub issue:
#26

Full path to the refactored file:
packages/tui/src/component/bg-pulse-render.ts

What do you think this file does?
(Your answer does not have to be 100% correct; give a reasonable, evidence‑based guess.)
I think it computed pixel colors and writing them into a buffer frame by frame.

What is the scope of your refactoring within that file?
(Name specific functions/blocks/regions touched.)
The writeRgb function (line 92) and its single call site inside writeLogoTint (line 103).

Which Qlty‑reported issue did you address?
(Name the rule/metric and include the BEFORE value; e.g., “Cognitive Complexity 18 in render()”.)
"Function with many parameters" in writeRgb — BEFORE: count = 6.

2. Refactoring

How did the specific issue you chose impact the codebase’s maintainability?
Having 6 separate params meant anyone calling this function had to remember the right order (r, g, b, a) which is easy to mess up.

What changes did you make to resolve the issue?
I combined the r, g, b, a params into one object param called
"color" so the function only takes 3 params now instead of 6. Updated the one place that calls it too.

How do your changes improve maintainability? Did you consider alternatives?
Now when you call the function you can see which value is which (like color.r) instead of just numbers in a row.

3. Validation

How did you validate that the change is correct?
I ran qlty smells again and the warning was gone. I also ran all the tests (196 passed, 0 failed) and wrote 3 new tests that call the updated function directly to make sure it still works right.

Attach a screenshot of the test coverage showing the lines were executed by the tests.
Screenshot 2026-09-01 at 11 15 08 PM

Attach a screenshot showing the tests that cover the change passing during CI
Screenshot 2026-09-01 at 11 29 40 PM

Attach a screenshot of qlty smells --no-snippets <full/path/to/file.ts> showing fewer reported issues after the changes.
BEFORE
Screenshot 2026-09-01 at 11 50 02 PM

AFTER
Screenshot 2026-09-01 at 11 16 59 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant